package com.oj.system.service.exam;

import com.oj.common.core.domain.R;
import com.oj.common.core.domain.TableDataInfo;
import com.oj.system.domain.exam.dto.*;
import com.oj.system.domain.exam.vo.ExamDetailVO;

/**
 * @Description
 * @Author bin
 * @Date 2025/5/6
 */
public interface IExamService {
    TableDataInfo list(ExamQueryDTO examQueryDTO, String token);

    R<String> add(ExamSaveDTO examSaveDTO);

    boolean questionAdd(ExamQuestSaveDTO examQuestSaveDTO);

    R<ExamDetailVO> detail(Long examId);

    int edit(ExamEditDTO examEditDTO);

    int questionDelete(Long examId, Long questionId);

    int delete(Long examId);

    int publish(Long examId);

    int cancelPublish(Long examId);
}
